package com.zhangshanfeng.chartest;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
### 字符流写数据【应用】
- 介绍
  Writer: 用于写入字符流的抽象父类
  FileWriter: 用于写入字符流的常用子类
- 构造方法
  | 方法名                                      | 说明                                                         |
  | FileWriter(File file)                       |
  根据给定的 File 对象构造一个 FileWriter 对象                 |
  | FileWriter(File file, boolean append)       |
  根据给定的 File 对象构造一个 FileWriter 对象                 |
  | FileWriter(String fileName)                 |
  根据给定的文件名构造一个 FileWriter 对象                     |
  | FileWriter(String fileName, boolean append) |
  根据给定的文件名以及指示  是否  附加写入    数据的 boolean 值来构造 FileWriter 对象 |


- 成员方法

  | 方法名                                    | 说明                 |
  | ----------------------------------------- | -------------------- |
  | void   write(int c)                       | 写一个字符           |
  | void   write(char[] cbuf)                 | 写入一个字符数组     |
  | void write(char[] cbuf, int off, int len) | 写入字符数组的一部分 |
  | void write(String str)                    | 写一个字符串         |
  | void write(String str, int off, int len)  | 写一个字符串的一部分 |

- 刷新和关闭的方法

  | 方法名  | 说明                                                         |
  | ------- | ------------------------------------------------------------ |
  | flush() | 刷新流，之后还可以继续写数据                                 |
  | close() | 关闭流，释放资源，但是在关闭之前会先刷新流。一旦关闭，就不能再写数据 |
 */
public class OutputStreamWriterDemo01 {
    public static void main(String[] args) throws IOException {
        FileReader fr = new FileReader("myCharStream\\b.txt");

        //int read()：一次读一个字符数据
//        int ch;
//        while ((ch=fr.read())!=-1) {
//            System.out.print((char)ch);
//        }

        //int read(char[] cbuf)：一次读一个字符数组数据
        char[] chs = new char[1024];
        int len;
        while ((len = fr.read(chs)) != -1) {
            System.out.print(new String(chs, 0, len));
        }

        fr.close();

        //接着添加
        FileWriter fw = new FileWriter("day12\\aaa.txt", true);


    }
}
